Цель 🎯
- Модель: Простая социальная сеть.
- Пользователи представлены как вершины в графе.
- Дружба представлена как ненаправленные рёбра.
- Задача: Обработать последовательность команд для построения и запросов к сети.
Представление 💾
Мы будем использовать список смежности для хранения графа.
Это массив списков. Список под индексом `i` содержит всех друзей пользователя `i`.
// Дружбы: (0,1), (0,2), (1,2)
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[],
]
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[],
]
Операции ⚙️
Вам нужно реализовать четыре команды:
add u vДобавить дружбу.
degree uПодсчитать количество друзей пользователя u.
isfriend u vПроверить, являются ли u и v друзьями.
count_greater xПодсчитать пользователей, у которых более x друзей.